home *** CD-ROM | disk | FTP | other *** search
/ LOGIC Apps / Logic-APPLE_II_APPS.iso / mac / LOGIC Apple II 5.25" Library - DOS Part 2 / DOS039.dsk / DIVISION.int < prev    next >
Text File  |  2012-02-16  |  3KB  |  111 lines

  1. 10 CALL -936
  2. 15 PRINT "    SET INPUT LENGTH IN LINE 60":PRINT 
  3. 20 PRINT "    RERUN PROGRAM TO RESET #DEC PLACES"
  4. 25 PRINT :PRINT "    ENTER ANY LETTER TO END":PRINT :PRINT 
  5. 54 X=0
  6. 60 DIM D1$(99),D2$(99),Q(255),D2(99),D1(255),S2(99)
  7. 68 INPUT "     #OF DEC.PLACES",ND
  8. 70 FOR G=1 TO 255:D1(G)=0:NEXT G
  9. 74 X=X+1:IF X#4 THEN 80
  10. 75 X= PEEK (-16384):IF X<127 THEN 75
  11. 77 CALL -936:X=1
  12. 80 INPUT "    DIVIDEND?",D1$
  13. 90 INPUT "    DIVISOR?",D2$
  14. 100 D1=0:D2=0
  15. 110 L1= LEN(D1$):L2= LEN(D2$)
  16. 120 FOR G=L1 TO 1 STEP -1
  17. 130 D1(G)= ASC(D1$(G,G))-176
  18. 135 IF  ASC(D1$(G,G))>193 THEN END 
  19. 140 IF D1(G)>-1 AND D1(G)<10 THEN NEXT G
  20. 150 IF G=0 THEN 200
  21. 160 D1=L1-G
  22. 165 L1=L1-1
  23. 170 FOR H=G TO L1+1
  24. 180 D1(H)=D1(H+1)
  25. 190 NEXT H,G
  26. 200 FOR G=L2 TO 1 STEP -1
  27. 210 D2(G)= ASC(D2$(G,G))-176
  28. 214 IF  ASC(D2$(G,G))>193 THEN END 
  29. 220 IF D2(G)>-1 AND D2(G)<10 THEN NEXT G
  30. 230 IF G=0 THEN 280
  31. 234 IF  ASC(D2$(G,G))>193 THEN 690
  32. 240 D2=L2-G
  33. 245 L2=L2-1
  34. 250 FOR H=G TO L2
  35. 260 D2(H)=D2(H+1)
  36. 270 NEXT H,G
  37. 280 DP=L1-L2-D1+D2+2
  38. 290 L1=L2
  39. 300 FOR G=1 TO DP+ND
  40. 310 Q(G)=D1(1)/D2(1)
  41. 320 IF Q(G)>9 THEN Q(G)=9
  42. 340 C=0
  43. 350 FOR H=L1 TO 1 STEP -1
  44. 360 S2(H)=(Q(G)*D2(H)+C) MOD 10
  45. 370 IF D1(H)<10 THEN 380
  46. 375 S2(1)=Q(G)*D2(1)+C:GOTO 450
  47. 380 C=(Q(G)*D2(H)+C)/10
  48. 390 NEXT H
  49. 400 IF C=0 THEN 450
  50. 410 Q(G)=Q(G)-1
  51. 420 GOTO 340
  52. 450 FOR H=L1 TO 1 STEP -1
  53. 460 D1(H)=D1(H)-S2(H)
  54. 470 IF D1(H)>-1 THEN NEXT H
  55. 480 IF H=0 THEN 534
  56. 490 IF H=1 THEN 504
  57. 494 D1(H)=D1(H)+10
  58. 497 D1(H-1)=D1(H-1)-1
  59. 500 NEXT H
  60. 504 FOR H=L1 TO 1 STEP -1
  61. 507 D1(H)=D1(H)+S2(H)
  62. 510 IF D1(H)<10 OR H=1 THEN 520
  63. 514 D1(H)=D1(H)-10
  64. 517 D1(H-1)=D1(H-1)+1
  65. 520 NEXT H
  66. 525 Q(G)=Q(G)-1
  67. 530 GOTO 340
  68. 534 IF L1#1 THEN 540
  69. 536 D1(1)=D1(1)*10+D1(G+1)
  70. 538 GOTO 560
  71. 540 D1(2)=D1(1)*10+D1(2)
  72. 544 FOR H=1 TO L1-1
  73. 548 D1(H)=D1(H+1)
  74. 551 NEXT H
  75. 554 D1(L1)=D1(G+L1)
  76. 560 NEXT G
  77. 561 PRINT "     ";
  78. 562 H=1:C=ND
  79. 564 IF DP>0 OR ND=0 THEN 610
  80. 567 PRINT ".";
  81. 570 IF DP=1 THEN 610
  82. 574 PRINT "0";
  83. 577 DP=DP+1
  84. 578 C=C-1
  85. 580 GOTO 570
  86. 610 FOR H=1 TO G-2
  87. 612 IF C=0 THEN 650
  88. 615 IF Q(1)=0 AND DP>1 AND H=1 THEN NEXT H
  89. 620 IF H#DP OR ND=0 OR C=0 THEN 640
  90. 630 PRINT ".";
  91. 640 IF H#G-2 THEN 660
  92. 650 IF Q(H+1)>4 THEN Q(H)=Q(H)+1
  93. 660 PRINT Q(H);
  94. 663 IF C=0 THEN 675
  95. 665 IF H>DP THEN C=C-1:IF C=0 THEN 650
  96. 670 NEXT H
  97. 675 PRINT :PRINT 
  98. 677 IF X=3 THEN PRINT "    ANY KEY TO CONTINUE"
  99. 680 GOTO 70
  100. 690 TEXT :CALL -936:VTAB 10:TAB 10:PRINT "*  *  * THE  END *  *  *":END 
  101. 692 REM 
  102. 694 REM  'DIVISION'
  103. 699 END 
  104. 65000 REM 
  105. 65050 REM  PROGRAM BY DUDLEY ACKERMAN
  106. 65100 REM  S.F APPLE CORE- 5,15,79 
  107. 65150 REM 
  108. 65200 REM  THIS PROGRAM GIVEN TO       APPLE CORE OF SAN FRANCISCO     FOR USE OF MEMBERS BY           AUTHOR: DUDLEY ACKERMAN..
  109. 65250 REM  JUNE 3 1979                 ENTERED IN LIBRARY BY           LE ROY LARSEN..
  110. 65300 REM  PROGRAM CLASSIFIED              - PUBLIC DOMAIN -
  111.